# -*- coding:utf-8 -*-
from django.db import models
from django.contrib.auth.models import User
import datetime


class kpoint_user(models.Model):
    class Meta:
        verbose_name=u'知识点用户'
        verbose_name_plural = u'知识点用户'

    user=models.OneToOneField(User)
    def __unicode__(self):
        return self.user.username

class knowleg_point(models.Model):
    '''
    知识点有树，父子结构
    '''
    class Meta:
        verbose_name=u'知识点'
        verbose_name_plural = u'知识点'

    create_user=models.ManyToManyField(kpoint_user,verbose_name=u'知识点创建人')
    point_name=models.CharField(u'知识点名称',blank=False,null=False,max_length=50,help_text=u'知识点名称')
    point_father_id=models.IntegerField(u'父节点',blank=True,null=True,help_text=u'父节点')   #0为单元  其他数字为知识点
    child_list=models.TextField(u'子节点',blank=True,null=True,help_text=u'子节点')    #每个子节点id以';'分隔
    is_leaf=models.BooleanField(u'是否叶子')
    test_percentage=models.FloatField(u'被考百分比',blank=True,null=True)

    def __unicode__(self):
        return self.point_name
class test_subjects(models.Model):
    '''
    考点，无结构，一个考点可以包含多个知识点
    '''
    class Meta:
        verbose_name=u'单元/考点'
        verbose_name_plural = u'单元/考点'

    create_user=models.ManyToManyField(kpoint_user,verbose_name=u'单元/考点创建人')
    subjects_name=models.CharField(u'单元/考点名称',blank=False,null=False,max_length=50,help_text=u'单元/考点名称')
    point_father_id=models.IntegerField(u'父节点',blank=True,null=True,help_text=u'父节点')   #0为单元  其他数字为考点
    flag=models.IntegerField(u'标志位',default=0,help_text=u'标志位，0是单元 1是小节 2是考点')
    include_point=models.TextField(u'考点包含知识点列表/单元包含子考点',blank=True,null=True,help_text=u'考点包含知识点列表/单元包含子考点')
    question=models.TextField(u'题目ID',blank=True,null=True,help_text=u'题目的ID,每个ID一";"分隔')
    def __unicode__(self):
        return self.subjects_name




#--------------------------------------老师自定义--------start-------------------------------------------------------------


class teacher_custom_knowleg_point(models.Model):
    '''
    知识点有树，父子结构
    老师自定义的知识点
    '''
    class Meta:
        verbose_name=u'知识点'
        verbose_name_plural = u'知识点'

    create_user=models.ManyToManyField(kpoint_user,verbose_name=u'知识点创建人')
    point_name=models.CharField(u'知识点名称',blank=False,null=False,max_length=50,help_text=u'知识点名称')
    point_father_id=models.IntegerField(u'父节点',blank=True,null=True,help_text=u'父节点')   #0为单元  其他数字为知识点
    child_list=models.TextField(u'子节点',blank=True,null=True,help_text=u'子节点')    #每个子节点id以';'分隔
    is_leaf=models.BooleanField(u'是否叶子')
    test_percentage=models.FloatField(u'被考百分比',blank=True,null=True)

    def __unicode__(self):
        return self.point_name


class teacher_custom_test_subjects(models.Model):
    '''
    考点，无结构，一个考点可以包含多个知识点
    老师自定义的考点和单元
    '''
    class Meta:
        verbose_name=u'单元/考点'
        verbose_name_plural = u'单元/考点'

    create_user=models.ManyToManyField(kpoint_user,verbose_name=u'单元/考点创建人')
    subjects_name=models.CharField(u'单元/考点名称',blank=False,null=False,max_length=50,help_text=u'单元/考点名称')
    point_father_id=models.IntegerField(u'父节点',blank=True,null=True,help_text=u'父节点')   #0为单元  其他数字为考点
    include_point=models.TextField(u'考点包含知识点列表/单元包含子考点',blank=True,null=True,help_text=u'考点包含知识点列表/单元包含子考点')
    question=models.TextField(u'题目ID',blank=True,null=True,help_text=u'题目的ID,每个ID一";"分隔')
    def __unicode__(self):
        return self.subjects_name


#----------------------------------------------------end----------------------------------------------------------------

